/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package cl.tienda.control;

import cl.tienda.modelo.Producto;
import cl.tienda.modelo.Usuario;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Vector;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author 17125223-7
 */
public class ServletInicioSesion extends HttpServlet {
    private Vector <Producto> productos;
    private Vector <Usuario> usuarios;
    
    public void inicializarUsuarios(){
        
        this.usuarios=new Vector<Usuario>();
        usuarios.add(new Usuario(1,"Yessica" ,"Fierro", "yessica","123" ,"vendedor"));
        usuarios.add(new Usuario(2,"Richard" ,"Chavez", "richard","chavez" ,"vendedor"));
   
    }
   
     public void inicializarProductos(){
         this.productos=new Vector<Producto>();
         productos.add(new Producto(1,"computador de guille",15,1.01f));
         productos.add(new Producto(2,"computador de guille",15,1.01f));
         productos.add(new Producto(3,"computador de guille",15,1.01f));
     }
      public void init(ServletConfig confing) throws ServletException { 
        this.inicializarProductos();
        this.inicializarUsuarios();
    }
  
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
      String usuario = request.getParameter("txtUsuario");
      String clave = request.getParameter("txtClave");
      String direccion="error.html";
      
      HttpSession sesion = request.getSession();
      if (sesion.isNew()){
          sesion = request.getSession(true);
          sesion.setAttribute("usuarios",usuarios);
          sesion.setAttribute("productos",productos);
      }else {
          usuarios =(Vector<Usuario>) sesion.getAttribute("usuarios");
          productos =(Vector<Producto>) sesion.getAttribute("productos");
      }
      for (int i =0; i< usuarios.size(); i++){
          if ((usuarios.get(i).getUsuario().compareTo(usuario) == 0)&&
                  (usuarios.get(i).getClave().compareTo(clave)==0)){
                  sesion.setAttribute("usuarioInicio",usuarios.get(i));
                  if(usuarios.get(i).getPrivilegio().compareTo("cliente")==0){
                      direccion="ServletCConProd";    
                  } else{
                      direccion="ServletCConProd";  
                  }
                  break;
          }
      }
       response.sendRedirect(direccion);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
